昨日DNS/DDNS/Port Forwards (一)中提到固定實體IP的設定,但如果你用的是浮動IP,代表是ISP供應商動態調配,讓許多用戶輪流使用一群IP,所以每次拿到的IP不見得會相同,這時我們會使用動態域名(DDNS)服務,利用名稱伺服器紀錄及更新IP,無論浮動IP怎麼變動,都能讓域名一直指向正確的IP位址。
另外域名就像網路的地址一樣,申請註冊與使用多數是要費用的,尤其有意義、短、好記的域名都很貴,可以到各大域名註冊商逛逛(昨天示範的gandi.net就是其中一家域名註冊商)。但網路也有許多有條件免費的服務商,像是freenom,提供五個頂層網域名最多一年免費的申請。也有許多高階的路由器就會提供這樣的免費服務(如asus的asuscomm.com),我這邊配合簡易好用的no-ip來進行設定,它提供三個免費子網域,而且使用蠻穩定的,但每個月要回去啟用一次,不然會被清除停用。(當然也可以花點費用,無須每月回去確認)
no-ip的申請帳號,網路很多教學這邊不詳述。到"Dashboard"中可以快速設定想起用的子網域,他提供不少網域,依喜好做選擇,右方可以看到我已經用掉兩個額度了。
每30天就要注意有沒有到期,或收到提醒信件,回網站重新啟用。
在openwrt中安裝套件luci-app-ddns
。luci web上方就會出現ddns的連結。
另外因為DDNS的服務商種類很多,連線設定IP的方式都不太相同,所以需要安裝相依的套件,no-ip可以搜尋"ddns-scripts-noip"並安裝。
切換到ddns頁面之下,選擇IPv4進行設定,在DDNS 服務提供者可以看到支援的網域非常多。也可以從這邊回去看每個服務商的特色,挑選適合自己的。
比較幾個關鍵的資訊:網域名稱、用戶名稱、密碼填入並儲存。
我這邊是以pi當主路由,pppoe取得實體IP,所以以下這四種其實都可以得到正確的IP地址。
記得點選啟動,正常連線與運作時會如下圖狀態,告訴你更新狀態與時間。
與固定IP相同,我們還需要開啟port forwarding。設定外部用什麼埠號連入。
測試看看用其他設備與網路連入此系統。
其實是可以的(網址還不需要加":80",因為預設http即為80),且要選擇對應到哪一台機器上。但我較少這麼做是因為管理彈性與安全因素。如果內部有多台設備提供80port的網頁服務,就容易混雜。而且tcp port 0-1023一般固定分配給一些服務(如80為HTTP、21為FTP等),也較容易受到一些攻擊,所以多數選用與其他不衝突的動態port號
如果用其他port號寬容度也較大,如果區網內只有一台有http服務,那不選設備都還是自動連得上。
openwrt擔任次級路或單純的無線分享器也能使用ddns部分。port forwarding回到數據機(或其他負責撥號的主路由)上設定。如下圖,將防火牆開啟要連入的埠號與對應的設備IP。
openwrt取的實體IP方式修改成由外部網路確認(因為沒有WAN口),即可由openwrt回報ddns我們設備的IP資訊